package com.hex.ds.hdtp.core.app.data.table.service;

import com.hex.ds.hdtp.core.app.common.service.IBasicService;
import com.hex.ds.hdtp.core.app.data.table.dto.request.TableTransferTaskRequestDto;
import com.hex.ds.hdtp.core.app.data.table.dto.response.TableTransferTaskResponseDto;

import java.util.List;

/**
 * @Package com.hex.ds.hdtp.core.app.data.table.service
 * @ClassName ITableTransferTaskService
 * @Description 表迁移任务-业务接口
 * @Author Wang zhihao
 * @Date 2023/8/8 18:40
 * @Version v1.0
 **/
public interface ITableTransferTaskService extends IBasicService<TableTransferTaskRequestDto> {

    /**
     * @Method queryList
     * @Param
     * @param tableTransferTaskRequestDto
     * @Return java.util.List<com.hex.ds.hdtp.core.app.data.table.dto.response.TableTransferTaskResponseDto>
     * @Description 不分页查询
     * @Author Wang zhihao
     * @Date 2023/8/10 18:24
     * @Version V1.0
     */
    List<TableTransferTaskResponseDto> queryList(TableTransferTaskRequestDto tableTransferTaskRequestDto);

    /**
     * @Method addWithBackId
     * @Param
     * @param tableTransferTaskRequestDto
     * @Return java.lang.String
     * @Description 新增并返回PkId
     * @Author Wang zhihao
     * @Date 2023/8/10 15:27
     * @Version V1.0
     */
    String addWithBackId(TableTransferTaskRequestDto tableTransferTaskRequestDto);

    /**
     * @Method batchRemoveById
     * @Param
     * @param pkIds
     * @Return void
     * @Description 表迁移任务-批量删除
     * @Author Wang zhihao
     * @Date 2023/8/9 10:43
     * @Version V1.0
     */
    void batchRemoveById(List<String> pkIds);

    /**
     * @Method transfer
     * @Param
     * @param pkId
     * @Return void
     * @Description 表迁移任务-迁移
     * @Author Wang zhihao
     * @Date 2023/8/10 14:19
     * @Version V1.0
     */
    void transfer(String pkId);

    /**
     * @Method queryInfoById
     * @Param
     * @Return com.hex.ds.hdtp.core.app.data.table.dto.response.TableTransferTaskResponseDto
     * @Description 根据主键获取建表任务信息
     * @Author Wang zhihao
     * @Date 2023/8/13 22:05
     * @Version V1.0
     */
    TableTransferTaskResponseDto queryInfoById(String pkId);

    /**
     * @Method modifyTransferTotal
     * @Param
     * @param pkId
     * @param type
     * @Return void
     * @Description 根据主键更改表迁移清单总数
     * @Author Wang zhihao
     * @Date 2023/8/25 9:49
     * @Version V1.0
     */
    void modifyTransferTotal(String pkId, String type);
}
